/**
 * to display date picker on click date text box
 */
$(document).ready(function(){
	$.datepicker.regional['ja'] = {
			monthNames : ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
			monthNamesShort : ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
			dayNames : ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
			dayNamesShort : ['日', '月', '火', '水', '木', '金', '土'],
			dayNamesMin : ['日', '月', '火', '水', '木', '金', '土'],
			dateFormat : 'yy/mm/dd', firstDay : 0
	};

	$("#dateBegin").datepicker($.datepicker.regional['ja']);
	$("#dateEnd").datepicker($.datepicker.regional['ja']);

	var optclockpick = {
			starthour : 8,
			endhour : 23,
			military : true
	};

	$('#timeBegin').clockpick(optclockpick);
	$('#timeEnd').clockpick(optclockpick);

	$('#dateAll').click(function(){
		if(this.checked){
			$('.input_form').each(function(){
				$(this).attr('disabled', true);
			});
		}else{
			$('.input_form').each(function(){
				$(this).removeAttr('disabled');
			});
		}
	});
/**
 * to display google maps 
 */
	var mapOptions = {
			center : new google.maps.LatLng(35.658704, 139.745408),
			zoom : 14,
			mapTypeId : google.maps.MapTypeId.TERRAIN
	};
	var map = new google.maps.Map($("#mainmap").get(0), mapOptions);

/**
 * to handle button click
 */
	$('#search_btn').click(function(){
		var query = {};
		query.tz = 'Asia/Tokyo';
		
		if(!$('#dateAll').attr('checked')){
			query.datebegin = $('#dateBegin').val() + '-' + $('#timeBegin').val();
			query.dateend =  $('#dateEnd').val() + '-' + $('#timeEnd').val();
		}else{
			query.size = $('#size').val();
		}
		
		$.getJSON('/api', query, function(json){
			if(json[0]){
				var mapOptions = {
						center : new google.maps.LatLng(json[0].latitude, json[0].longitude),
						zoom : 15,
						mapTypeId : google.maps.MapTypeId.TERRAIN
				};
				map.setOptions(mapOptions);
				
				var directionsRenderer = new google.maps.DirectionsRenderer();
				directionsRenderer.setMap(map);
				
				var points = [];
				$(json).each(function(indx, item){
					points.push(new google.maps.LatLng(item.latitude, item.longitude));
				});
				
				var polyLineOptions = {
					path : points,
					strokeWeight : 4,
					strokeColor : '#6600cc',
					strokeOpacity : '0.8'
				};
				
				var poly = new google.maps.Polyline(polyLineOptions);
				poly.setMap(map);
			}
		});
	});
});
